package week2.day11;

/**
 * @Author fengzihao
 * @Date 2024-04-25 19:41
 */
public class CompatibilityTest {


}

class Father1{

}
class Son1 extends Father1{

}

class Father{
    public long getLong(){
        return 1L;
    }
    public double getDouble(){
        return 1;
    }
    public Father1 getFather1(){
        return new Father1();
    }

}

class Son extends Father{
    @Override
    public long getLong() {
        byte resultByte = 2;
        short resultShort = 20;
        int resultInt = 200;
        long resultLong = 2000;
        // 在基本数据类型中可以返回能够自动类型转换的类型或同类型
        // return resultByte;
        // return resultShort;
        // return resultInt;
        return resultLong;
    }

    @Override
    public double getDouble() {

        float resultFloat = 1;
        double resultDouble = 10;
        // 在该部分可以返回可以自动转型为double类型的变量
        // return resultFloat;
        return resultDouble;
    }

    @Override
    public Father1 getFather1() {
        // 在此部分也是可以返回相同类型或该类型子类
        // 同样也是可以自动转换成父类返回值类型即可
        // return new Father1();
        return new Son1();
    }
}